我的目标是查看有关从命令行g++
直接调用by的详细信息cmake
。我不在乎make
此问题的输出。
根据官方的FAQ和有关相关问题的公认答案,我应该确保例如通过传递命令行标志CMAKE_VERBOSE_MAKEFILE:BOOL=ON
来设置生成的内容。当我这样做时,它重新查询了一堆属性,但是没有提供有关调用的更多信息。CMakeCache.txt
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
但是,cmake
用旗帜打电话--verbose=1
给我的正是我所需要的。
这两种选择的作用不同?是否--verbose=1
已弃用或不鼓励使用?
不,这不是您接受的答案和您链接的CMake FAQ所说的,否则我会感到惊讶。
确切地说,他们没有说您应该修改CMakeCache.txt
。不要修改该文件,这不是一个好习惯,因为这样很容易出错。
相反,如果您完全遵循两个来源所说的话,即
cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON . make
要么
cmake . make VERBOSE=1
您会在编译和链接阶段看到详细的输出。
另外,如果将以CMakeLists.txt
下行放入文件中,则应达到相同的效果:
set( CMAKE_VERBOSE_MAKEFILE on )
在其中一种情况下看不到输出的事实可能是由于先前缓存的配置。
我建议您在可能的情况下进行源代码外构建,以便在这种情况下,只需删除构建目录即可摆脱CMake生成的每个文件和目录。
然后,您可以重新创建新配置,而不会受到先前生成的配置和构建文件的干扰。
当然,我可能错了,您遇到了一个错误,但这似乎不太可能。
编辑:那是因为在配置阶段您没有编译,即您没有使用Makefile,这是命令行选项设置的内容。cmake
在项目构建的任何阶段(配置,编译,安装),命令本身都不是一个冗长的选项。当您执行此操作时,它不会显示其他配置信息,cmake .
但应显示您的其他信息make
。
所以CMAKE_VERBOSE_MAKEFILE
是错误的选择,如果你想获得详细的CMake从自身输出设置。